Methods for non-linearly quantizing and non-linearly dequantizing an information signal using off-center decision levels

ABSTRACT

Data representing an information signal are non-linearly quantized to generate respective quantized data that represent the information signal using fewer bits. Each of the data, when non-linearly quantized, is represented by a quantizing level selected from a number of quantizing levels. The data are non-linearly quantized according to a non-linear function, the decision levels being off-center between adjacent quantizing levels obtained thereby from the quantizing values. The data and word-length information indicating the number of quantizing levels are received. A quantizing value for each quantizing level in the number of quantizing levels is determined from the word-length information and the non-linear function. The quantizing values determined for all the quantizing levels in the number of quantizing levels are non-uniformly spaced. Finally, the quantizing level having the quantizing value closest in value to the data value of each of the data is selected as a respective one of the quantized data.

FIELD OF THE INVENTION

The invention relates to signal compression, in which an informationsignal is represented using a reduced number of bits, and to signalexpansion in which the number of bits representing the informationsignal is restored.

BACKGROUND OF THE INVENTION

When a digital information signal is compressed for storage and/ortransmission at a reduced bit rate, the samples of the informationsignal are often requantized using a reduced word length. Reducing theword length by which each of the samples is represented reduces thenumber of bits required to represent the information at the expense ofan increase in quantizing errors. This requantizing is usually donelinearly by uniformly distributing quantizing values corresponding tothe available quantizing levels across the range of values of theinformation signal and requantizing each sample of the informationsignal to the closest quantizing value. The same technique may be usedto requantize transform coefficients representing the informationsignal.

In some applications, such as the so-called ISO/MPEG layer three audiocoding standard, the quantizing values corresponding to the availablequantizing levels are distributed non-uniformly. Distributing thequantizing values non-uniformly allows certain values of the informationsignal to be quantized more accurately than other values. This providesbetter results than linear quantizing when, for example, the values thatare quantized more accurately occur more frequently than the values thatare quantized less accurately, or errors in the values that arequantized more accurately are more noticeable. Both of thesepossibilities may occur in low bit rate audio compression.

Many audio compression systems orthogonally transform the audio inputsignal into the frequency domain before quantizing. When this is done,small-amplitude spectral coefficients occur more frequently thanlarge-amplitude spectral coefficients for most practical input signals.Additionally, because of the psychoacoustic phenomenon of simultaneousmasking that occurs between the members of a group of contiguousspectral coefficients, noise due to quantizing errors is less likely tobe heard in the presence of large-amplitude coefficients than in thepresence of small-amplitude coefficients. For this reason, a non-linearquantizing scheme that concentrates more quantizing levels at smallamplitudes can lead to a significant improvement in sound quality.

Non-linear quantizing is normally implemented by a applying linearquantizing to a non-linearized version of the data subject toquantizing. The data subject to quantizing are normally a block or setof data, such as a set of spectral coefficients, that are to bequantized using the same number of quantizing levels, or the same wordlength. In non-linear quantizing, the data subject to quantizing arepre-processed by a non-linear function, and the resulting pre-processeddata are then quantized using uniformly-spaced quantizing values. Thus,if Q x! represents a linear quantizing of x, and f(x) is a non-linearfunction of x, then non-linear quantizing can be represented as Q f(x)!.This technique is specified by the ISO/MPEG layer three audio codingstandard, for example.

FIG. 1 illustrates a known linear quantizing scheme Q x! having fivequantizing levels. FIG. 1 shows the relationship between the data valuex of the data subject to quantizing and the resulting quantizing levels.The five possible quantizing levels denoted by the circled integersabove the horizontal axis. Each quantizing level has a correspondingquantizing value. For example, in FIG. 1, the quantizing level 2 has aquantizing value of 1.0, and the quantizing level -1 has a quantizingvalue of -0.5. The data value x of the data subject to quantizing andthe quantizing level of the quantizing values are indicated in FIG. 1 bythe values -1.0, -0.5, 0, 0.5, and 1.0 below the horizontal axis.

In the linear quantizing scheme illustrated in FIG. 1, the data value xis quantized to the quantizing level having a quantizing value that isclosest to x. In FIG. 1, the decision values between adjacent quantizingvalues are indicated by broken lines. For example, the broken line D₀₁indicates the decision value between the quantizing values 0 and 0.5.Data values between adjacent decision values are all quantized to thesame quantizing level, and hence to the same quantizing value.

The data values of the data subject to quantizing may be restricted tothe range between -1.0 and 1.0. Alternatively, data may include datavalues outside this range, in which case, data values greater than thehighest decision value D₁₂ are quantized to the highest quantizing leveland data values less than the least decision value D₋₁₋₂ are quantizedto the lowest quantizing level. In the linear quantizing schemeillustrated in FIG. 1, the decision values fall half-way between thequantizing values as a result of the data values being quantized to thenearest quantizing value.

As mentioned above, a non-linear quantizing scheme can be implementedaccording to the prior art by first pre-processing or transforming thedata subject to quantizing using a non-linear function, and thenlinearly quantizing the resulting pre-processed data. If f() is thenon-linear function, and linear quantizing of x is expressed as Q x!,then non-linear quantizing of x may be expressed as Q f(x)!.

A block diagram of a prior art non-linear quantizer is shown in FIG. 2.In FIG. 2, the data subject to quantizing are fed via the input terminal10 to the pre-processor 21, which, in this example, receives thenon-linear function f() from the non-linear function block 23. Thepre-processor pre-processes each of the data subject to quantizingaccording to the non-linear function received from the non-linearfunction block. The pre-processed data are fed from the pre-processor 21to the linear quantizer 22. The linear quantizer 22 usesuniformly-spaced quantizing values set according to data received viathe input terminal 11 indicating the number of quantizing levels. Thelinear quantizer 22 quantizes the pre-processed data to the nearestuniformly-spaced quantizing value and feeds the resulting non-linearlyquantized data to the output terminal 14.

Note that linear quantizing is a special case of the non-linearquantizing just described. If the non-linear function f()is defined asf(x)=x, then the data are quantized linearly, as shown in FIG. 3. InFIG. 3, the data value a is first pre-processed by the linear functionf(x)=x, and, and the resulting pre-processed data value a' on thevertical axis is then linearly quantized by Q !. Since the function f(x)is linear with a slope of 1.0, the result of Q f(x)! is the same as Qx!. In the example shown in FIG. 3, the pre-processed data value isgreater than the decision value D₁₂ between quantizing levels 1 and 2,so the data value a is quantized with a quantizing level of 2.

When f(x) is a non-linear function, the quantizing scheme Q f(x)!becomes a non-linear quantizing scheme according to the prior art. FIG.4 shows an example of this form of non-linear quantizing. As in theexample of linear quantizing described above with reference to FIG. 3,the data are pre-processed by the function f(x), and the pre-processeddata are then quantized linearly in the non-linearized domain shown onthe vertical axis in FIG. 4. However, in this case, the function f(x) isnon-linear.

Pre-processing using the non-linear function f(x) has the effect ofchanging the quantizing value in the input domain (the horizontal axisin FIG. 4) of each of the quantizing levels. FIG. 5 shows the result ofthis effect. FIG. 5 illustrates the same quantizing scheme as FIG. 4except that each quantizing value q has been inversely transformed backfrom the transformed domain (the vertical axis in FIG. 5) to the inputdomain (the horizontal axis) by the inverse g(q) of the non-linearfunction f(x). Thus, FIG. 5 shows the level in the input domain of thequantizing value of each quantizing level in the transformed domain. Itcan be seen that the quantizing values are uniformly spaced in thetransformed domain, but are non-uniformly spaced in the input domain.Since, in this example, the slope of the non-linear function f(x) isgreater for data values near zero than for data values near 1.0 and-1.0, the non-linear quantizing scheme shown is more precise for smalldata values.

FIG. 6 shows the quantizing values of FIG. 5 in the same format as FIG.1, using only the input domain. FIG. 6 also shows the correspondingdecision values. The decision values are calculated in the same way asthe quantizing values are calculated in FIG. 5, i.e., by inverselytransforming the decision values in the transformed domain, (thevertical axis of FIG. 5) back to the input domain (the horizontal axisof FIG. 5). It can be seen that the decision values are no longerlocated half-way between the quantizing values in the input domain.Because of this, certain data values may not be quantized with a minimumquantizing error.

The non-linear quantizer prescribed by the above-mentioned ISO/MPEGlayer three audio coding standard has additional disadvantages. First,the quantizing effects of a given non-linear function f() vary accordingto the number of quantizing levels used to quantize the data valuesafter they have been pre-processed according to the non-linear functionf(). However, the quantizer prescribed by the standard changes thenumber of quantizing levels while using a fixed non-linear function f().In a quantizer in which the number of quantizing levels changesdynamically, as in most high-efficiency compression systems,pre-processing using a fixed non-linear function f() will not giveoptimum results for all values of the number of quantizing levels.

Second, calculating f(x) for each of the data for the non-linearfunction f() may require too much time and/or signal processing power.To conserve time or processing power, the data values may have to bepre-processed using a simpler, but less optimum, non-linear functionf().

SUMMARY OF THE INVENTION

The invention provides a method of non-linearly quantizing datarepresenting an information signal to generate respective quantized datathat represent the information signal using fewer bits. Each of thedata, when non-linearly quantized, is represented by a quantizing levelselected from a number of quantizing levels. The method non-linearlyquantizes the data according to a non-linear function. In the method,the data and word-length information indicating the number of quantizinglevels are received. A quantizing value for each quantizing level in thenumber of quantizing levels is determined from the word-lengthinformation and the non-linear function. The quantizing valuesdetermined for all the quantizing levels in the number of quantizinglevels are non-uniformly spaced. Finally, the quantizing level havingthe quantizing value closest In value to the data value of each of thedata is selected as a respective one of the quantized data.

When the quantizing values are determined, an inverse non-linearfunction, inverse to the non-linear function, is derived from thenon-linear function. The number of quantizing levels are distributeduniformly across the output range of the non-linear function to generatea corresponding number of uniformly-spaced values. Then, each of theuniformly-spaced values is processed using the inverse non-linearfunction to generate a respective one of the quantizing values.

The method may additionally include performing time-frequency analysison the information signal to generate the data.

The method may additionally include applying block floating to the dataprior to quantizing, in which case, the quantizing level having thequantizing value closest in value to the value of each of the blockfloating-processed data is selected as a respective one of the quantizeddata.

A decision value between adjacent quantizing levels may be calculatedfrom the quantizing values of the adjacent quantizing levels, and aninput range for each quantizing level may be determined from thedecision values between the quantizing level and the quantizing levelsabove and below the quantizing level. In this case, the quantizing levelhaving the input range encompassing the data value of each of the datais selected as the respective one of the quantized data.

The quantizing levels and their respective quantizing values or inputranges may be stored in a quantizing table. In this case, the quantizinglevel is selected by comparing the data value of the one of the datawith the input ranges stored in the quantizing table to identify theinput range encompassing the data value, or by comparing the data valuewith the quantizing values stored in the quantizing table to identifythe quantizing value closest to the data value. The respectivequantizing level is then read from the quantizing table as therespective one of the quantized data.

Quantizing tables may be constructed for all allowable values of thenumber of quantizing levels, and the quantizing table used to providethe quantizing level is selected in response to the word-lengthinformation indicating the number of quantizing levels.

The data may be non-linearly quantized using different non-linearfunctions selected according to the number of quantizing levels. Thisallows the non-linear function used when the number of quantizing levelsis large to be more non-linear than the non-linear function used whenthe number of quantizing levels is small. This, in turn, provides theadvantages of non-linear quantizing while avoiding the high distortionlevels that can result when non-linear quantizing is used with only afew quantizing levels.

Different non-linear functions may be implemented using quantizingtables, or by determining quantizing values or input ranges for eachnon-linear function.

The invention also provides a method of quantizing data representing aninformation signal to generate respective quantized data representingthe information signal using fewer bits. Each of the data, whenquantized, is represented by a quantizing level selected from a numberof quantizing levels. In the method, the data and word-lengthinformation indicating the number of quantizing levels are received. Aset of quantizing tables is provided. The set of quantizing tablesincludes a quantizing table for each possible number of quantizinglevels. Each quantizing table includes a table entry for each quantizinglevel in the respective number of quantizing levels. The quantizingtable for the number of quantizing levels indicated by the word-lengthinformation is chosen from the set of quantizing tables. Finally, thequantizing level whose table entry corresponds to the data value of eachof the data is selected from the quantizing table as a respective one ofthe quantized data.

The table entries in the quantizing tables may provide a non-linearquantizing characteristic, and may be derived from a single non-linearfunction which determines the non-linear quantizing characteristic.

The table entries in the quantizing tables may provide a differentnon-linear quantizing characteristic in different ones of the quantizingtables. In this case, the table entries in the quantizing tables formore quantizing levels may provide a more non-linear quantizingcharacteristic than the table entries in the quantizing tables for fewerquantizing levels.

The table entries may include a quantizing value or a input range foreach quantizing level. When the quantizing value is included, thequantizing level of the table entry in which the quantizing value isclosest to the data value of the one of the data is selected. When theinput range is included, the quantizing level of the table entry inwhich the input range encompasses the data value of the one of the datais selected.

The method may additionally include performing time-frequency analysison the information signal to generate the data.

The method may also additionally include applying block floating to thedata to generate block floating-processed data, in which case, thequantizing level whose table entry corresponds to the blockfloating-processed data value of each one of the blockfloating-processed data is selected as a respective one of the quantizeddata.

The invention additionally provides a method of non-linearly quantizingdata representing an information signal to generate respective quantizeddata representing the information signal using fewer bits. Each of thedata, when non-linearly quantized, is represented by a quantizing levelselected from a number of quantizing levels. In the method, a set ofnon-linear functions is provided. The non-linear functions each define anon-linear quantizing characteristic. The data and word-lengthinformation indicating the number of quantizing levels are received. Oneof the non-linear functions is chosen from the set of non-linearfunctions, preferably in response to the word length input. The data arepre-processed to generate pre-processed data by multiplying each of thedata by the chosen non-linear function to generate a respective one ofthe pre-processed data. Finally, the pre-processed data are linearlyquantized in response to the word-length information to generate thequantized data.

A different non-linear function may be provided for each number ofquantizing levels in the allowable range of the number of quantizinglevels.

The non-linear functions may vary in non-linearity, in which case, theone of the non-linear functions chosen has a greater non-linearity whenthe word-length information indicates more quantizing levels than theone of the non-linear functions chosen when the word-length informationindicates fewer quantizing levels.

A piecewise linear approximation of a non-linear function may beprovided as each of the non-linear functions in the non-linear functionset. A piecewise approximation of a non-linear function would beprovided for each number of quantizing levels in the allowable range ofthe number of quantizing levels. Each piecewise linear approximationincludes plural nodes at which the piecewise non-linear approximationcoincides with the non-linear function. The nodes are equal in number tothe respective number of quantizing levels. Each piecewise linearapproximation also includes linear segments interconnecting consecutivenodes. Substituting the linear piecewise approximations of thenon-linear functions for the non-linear function themselves reduces thequantizing errors generated by this method.

The non-linear functions approximated by the piecewise linearapproximations may vary in non-linearity, in which case, the non-linearfunctions approximated by the piecewise linear approximations for largernumbers of quantizing levels are preferably more non-linear than thenon-linear functions approximated by the piecewise linear approximationsfor smaller numbers of quantizing levels. Alternatively, the piecewiselinear approximations may all approximate the same non-linear function.

The method may additionally include performing time-frequency analysison the information signal to generate the data.

The method may also additionally include applying block floating to thedata to generate block floating-processed data, in which case, thepre-processed data are generated by multiplying each of theblock-floating processed data by the chosen non-linear function.

Finally, the invention provides a method of dequantizing thenon-linearly quantized data quantized by the method just described. Inthe method, a set of inverse non-linear functions is provided. Theinverse non-linear functions each correspond to one of the pluralnon-linear functions used to quantize the data. The non-linearlyquantized data and word-length information indicate the number ofquantizing levels with which the non-linearly quantized data arequantized are received. The non-linearly quantized data are linearlydequantized in response to the word-length information to generatenon-linear data. One of the inverse non-linear functions is chosen fromthe set of non-linear functions. Finally, the non-linear data are postprocessed to generate the dequantized data by applying the choseninverse non-linear function to each of the non-linear data to generate arespective one of the dequantized data.

The one of the inverse non-linear functions may be chosen in response tothe word-length information.

The inverse non-linear functions may vary in non-linearity, in whichcase, the chosen one of the inverse non-linear functions will preferablyhave a greater non-linearity when the word-length information indicatesmore quantizing levels than when the word-length information indicatesfewer quantizing levels.

Block floating release may additionally be applied to the dequantizeddata following the post processing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an input domain diagram illustrating linear quantizingaccording to the prior art.

FIG. 2 is a block diagram of a non-linear quantizer according to theprior art in which the data are subject to a non-linear transformationprior to linear quantizing.

FIG. 3 is an input/output diagram illustrating linear quantizing basedon a non-linear quantizing model.

FIG. 4 is an input/output diagram illustrating non-linear quantizingaccording to the prior art.

FIG. 5 is an input/output diagram illustrating the quantizing value ofeach quantizing level generated by non-linear quantizing according tothe prior art.

FIG. 6 is an input domain diagram illustrating the quantizing values anddecision values generated by the prior-art non-linear quantizing methodillustrated in FIG. 5.

FIG. 7 is a block diagram of a non-linear quantizer embodying the firstnon-linear quantizing method according to the invention.

FIG. 8 is a flow chart illustrating the calculation of the quantizingvalues for each quantizing level in the first non-linear quantizingmethod according to the invention.

FIG. 9 is a graph showing an exemplary non-linear function that could beused by the first non-linear quantizing method according to theinvention. The graph also shows a linear function for comparison.

FIG. 10A is a graph showing the absolute value of the quantizing errorsresulting from non-linear quantizing with three quantizing levelsperformed according to the invention. The graph also shows the absolutevalue of the quantizing errors resulting from non-linear quantizing withthree quantizing levels performed according to the prior art forcomparison.

FIG. 10B is a graph showing the absolute value of the quantizing errorsresulting from non-linear quantizing with seven quantizing levelsperformed according to the invention. The graph also shows the absolutevalue of the quantizing errors resulting from non-linear quantizing withseven quantizing levels performed according to the prior art forcomparison.

FIG. 11 is a block diagram of an audio transmission or recording systemin which the audio signal is compressed using the non-linear quantizingmethods according to the invention prior to transmission or recording.

FIG. 12 is a block diagram of the audio compressor of the audio signaltransmission system shown in FIG. 11. The compressor includes anon-linear quantizer embodying the non-linear quantizing methodsaccording to the invention.

FIG. 13 is a block diagram of the time-frequency analyzer in the audiocompressor of the audio signal transmission system shown in FIG. 11.

FIG. 14 is a block diagram of a non-linear quantizer embodying thesecond non-linear quantizing method according to the invention.

FIG. 15 is an example of the quantizing table for five quantizing levelsused in the second non-linear quantizing method according to theinvention.

FIG. 16A is a graph showing a piecewise linear approximation of anon-linear function for five quantizing levels for use in the thirdnon-linear quantizing method according to the invention.

FIG. 16B is a graph showing a piecewise linear approximation of anon-linear function for seven quantizing levels for use in the thirdnon-linear quantizing method according to the invention.

FIG. 17 is a block diagram of a non-linear quantizer embodying the thirdnon-linear quantizing method according to the invention.

FIG. 18 is an input domain diagram illustrating the quantizing valuesand decision values generated by the non-linear quantizing methodsaccording to the invention.

FIG. 19 is a graph showing an exemplary set of non-linear functions foruse in the fourth non-linear quantizing method according to theinvention.

FIG. 20 is a block diagram of a non-linear quantizer embodying thefourth non-linear quantizing method according to the invention.

FIG. 21 is a block diagram of a non-linear dequantizer embodying thenon-linear dequantizing method according to the invention.

FIG. 22 is a block diagram of the audio expander of the audio signaltransmission or recording system shown in FIG. 11. The expander includesa non-linear dequantizer embodying the non-linear dequantizing methodaccording to the invention.

DETAILED DESCRIPTION OF THE INVENTION

A block diagram of a non-linear quantizer 30 embodying the firstnon-linear quantizing method according to the invention is shown in FIG.7. The non-linear quantizer 30 and the other non-linear quantizers andnon-linear dequantizers described herein are shown as block diagrams.The functional elements of these block diagrams may be realized inpractice using a suitable large-scale integrated circuits, or usingsmaller-scale integrated circuits or discrete components. Alternatively,the functional elements of the non-linear quantizers and dequantizersmay be realized by programming a suitable microcomputer or digitalsignal processor and using such auxiliary circuits as may be required.

In the non-linear quantizer 30, the quantizer 32 receives the datasubject to quantizing via the input terminal 10, quantizes each of thedata subject to quantizing to the quantizing level corresponding to thenearest quantizing value in the set of non-uniformly spaced quantizingvalues supplied by the quantizing value calculator 31, and supplies theresulting quantized data to the output terminal 14. The data subject toquantizing received via the input terminal 10 are normally a block orset of data, such as a set of spectral coefficients, that are to bequantized using the same number of quantizing levels or the same wordlength.

The quantizing value calculator 31 receives the non-linear function f()from the non-linear function block 33, and receives via the inputterminal 11 an input indicating the number of quantizing levels withwhich the data subject to quantizing are to be quantized. The quantizingvalue calculator calculates a quantizing value for each quantizinglevel, and feeds the resulting quantizing values to the quantizer 32.The number of quantizing values calculated is equal to the number ofquantizing levels indicated by the input indicating the number ofquantizing levels. The quantizing value calculator 31 may receive viathe input terminal 11 an input indicating the word length with which thedata subject to quantizing will be quantized in lieu of the inputindicating the number of quantizing levels.

FIG. 8 is a flow chart explaining in more detail the calculation of thequantizing value of each quantizing level by the quantizing valuecalculator 31. In the processing shown in FIG. 8, the correspondinglinear quantizing value x in the transformed domain is first calculatedfor each quantizing level i. Then, the corresponding quantizing value qi! in the input domain is calculated as q i!=g(x), where go is theinverse function of the non-linear function f(), i.e., g(f(x))=x.

The processing starts at step S0. At step S1, an input indicating thenon-linear function f() is received from the non-linear function block33. At step S2, the inverse function g() of the function f() iscalculated from the non-linear function f(). At step S3, an inputindicating the number of quantizing levels lev is received via the inputterminal 11. At step S4, the quantizing level i is initialized to thelowest quantizing level using equation (1):

    i=-(lev-1)/2                                               (1)

The quantizing value q i!, in the input domain for each quantizing leveli is then calculated by the loop consisting of steps S5, S6, S7, and S8until it is determined at step S7 that the quantizing values for all thequantizing levels have been calculated.

At step S5, the linear quantizing value x in the transformed domain forthe quantizing level i is calculated using equation (2):

    x=(2×i)/(lev-1)                                      (2)

At step S6, the quantizing value q i! in the input domain is calculatedfrom the quantizing value in the transformed domain and the inversefunction g() using equation (3)

    q i!=g(x)                                                  (3)

At step S7, a test is performed to determine whether the quantizingvalues for all the quantizing levels have been calculated by determiningwhether the value of i corresponds to the highest quantizing leveldetermined by equation (4):

    i=(lev-1)/2                                                (4)

If it is determined at step S7 that the value of i does not correspondto the highest quantizing level, execution passes to step S8, where thevalue of i is incremented by 1, and then to step S5 where the looprepeats.

If it is determined at step S7 that the value of i corresponds to thehighest quantizing level, this indicates that quantizing values havebeen determined for all the quantizing levels, and execution passes tostep S8. At step S8, the quantizing values calculated by the quantizingvalue calculator 31 are fed to the quantizer 32 for use in quantizingthe data subject to quantizing. Processing then advances to step S9,where control returns to the main routine.

The quantizer 32 quantizes each of the data subject to quantizing byfeeding to the output terminal 14 a quantizing level selected from thenumber of quantizing levels indicated by the input indicating the numberof quantizing levels (or the number of quantizing levels correspondingto the word length input) received via the input terminal 11. Thequantizer 32 also receives a quantizing value for each quantizing levelfrom the quantizing value calculator 31 for use in quantizing the datasubject to quantizing to the nearest quantizing value. For example, thequantizer 32 may determine which of the quantizing values received fromthe quantizing value calculator 31 is closest in value to each of thedata subject to quantizing, and will feed the quantizing levelcorresponding to that quantizing value to the output terminal 14 as oneof the quantized data. Each quantizing level fed to the output terminal14 has the number of bits indicated by the word length input (or has thenumber of bits corresponding to the input indicating the number ofquantizing levels) received by the quantizer 32 from the input terminal11. The quantizer 32 can determine which of the quantizing values isclosest in value to each of the data subject to quantizing by, forexample, determining differences between the one of the data and each ofthe quantizing values, and feed to the output terminal 14 the quantizinglevel corresponding to the quantizing value for which the difference isleast.

The processing performed on the quantizing levels by the quantizingvalue calculator 31 results in quantizing values that coincide with thequantizing values shown in FIG. 5 of a prior-art non-linear quantizerusing the same nonlinear function f(). However, the non-linearquantizing performed by the first quantizing method according to theinvention is different from that shown in FIG. 5 because the quantizer32 operates in the input domain and quantizes each of the data subjectto quantizing to the quantizing level corresponding to the closestnon-uniformly spaced quantizing value. This results in decision valuesthat are located at the midpoints between adjacent quantizing values,unlike the decision values of the prior-art non-linear quantizerdescribed above with reference to FIGS. 5 and 6. As a result, the firstnon-linear quantizing method according to the invention generatesquantizing errors that are less than or equal to the quantizing errorsgenerated by prior-art non-linear quantizing.

The solid line in FIG. 9 shows an exemplary non-linear function; thedotted line indicates a linear function, for comparison. FIGS. 10A and10B show the quantizing errors generated by the non-linear quantizingmethod according to the present invention (solid line) compared with thequantizing errors generated by prior-art non-linear quantizing (dottedline) when both operate with the exemplary non-linear function shown bythe solid line in FIG. 9. FIG. 10A shows the quantizing errors thatresult when data values in the range of -1.0 to +1.0 are quantized usingthree quantizing levels. It can be seen that the non-linear quantizingmethod according to the invention generates significantly smallerquantizing errors for data values in the vicinity of -0.4 and +0.4. FIG.10B shows the quantizing errors that result when data values in the samerange are quantized using seven quantizing levels. In both the casesillustrated, the quantizing errors generated by the non-linearquantizing method according to the invention are less than or equal tothe quantizing errors generated by prior-art non-linear quantizing.

As an alternative to feeding the quantizing value for each quantizinglevel to the quantizer 32, the quantizing value calculator 31 cancalculate and feed to the quantizer 32 an input range for eachquantizing level in the number of quantizing levels. This enables thequantizer 32 to be simplified. The quantizing value calculator 31 candetermine from the quantizing values calculated as described above adecision value mid-way between adjacent quantizing values. Setting thedecision value mid-way between adjacent quantizing values minimizes thequantizing errors. The quantizing value calculator can then derive aninput range for each quantizing level from the calculated decisionvalues of adjacent quantizing levels. The quantizing value calculatorcan feed the calculated input range for each quantizing level to thequantizer 32 in lieu of the respective quantizing value. The quantizer32 can then quantize the data subject to quantizing simply bydetermining which of the input ranges received from the quantizing valuecalculator encompasses the data value of each of the data subject toquantizing and feeding the respective quantizing level to the outputterminal 14.

An example of the application of a non-linear quantizer embodying thefirst non-linear quantizing method according to the invention in atransmission or recording system for an audio signal will now bedescribed with reference to FIGS. 11-13. The non-linear quantizingmethod according to the invention is not limited to this application,however. The non-linear quantizing method according to the inventionwill confer the advantages described above when used in other non-linearquantizing applications. For example, the non-linear quantizing methodaccording to the invention may be used to non-linearly quantize thecoefficients that result from orthogonally transforming a square orrectangular block of a motion picture signal, or a square or rectangularblock of errors resulting from performing motion compensation on amotion picture signal.

FIG. 11 shows the general configuration of the transmission or recordingsystem 110 for an audio signal. In the system shown, the audio inputsignal is compressed prior to recording or transmission to reduce thestorage capacity requirements of the recording medium and/or the bitrate requirements of the transmission medium. The audio input signal iscompressed by the audio compressor 111 to provide a compressed signalthat is fed to the transmission or recording medium 113. The compressedsignal reproduced from the transmission or recording medium is thenexpanded by the audio expander 112 to provide an audio output signal.The system 110 normally operates according to the psychoacousticcharacteristics of the human sense of hearing to minimize the audibilityof errors resulting from the process of compressing and expanding theaudio input signal.

FIG. 12 shows a block diagram of the audio compressor 111 that operatesaccording to the psychoacoustic characteristics of the human sense ofhearing. The time-frequency analyzer 121 receives the audio input signaland divides the audio input signal in time and in frequency into sets ofspectral components. For example, the time-frequency analyzer may dividethe audio input signal in time into blocks, and may then orthogonallytransform the samples of the audio input signal in each block from thetime domain to the frequency domain to generate the sets of spectralcomponents. Alternatively, the time-frequency analyzer may divide theaudio input signal into multiple frequency bands, using, for example,multiple filters, and may divide the signal component in each of thefrequency bands in time into the sets of spectral components. Thetime-frequency analyzer 121 feeds the sets of spectral components to thebit allocator 122 and the spectral quantizer 123.

In the audio compressor shown in FIG. 12, the accuracy with which thespectral components in each set of spectral components is representedusing a predetermined number of bits is increased by applying blockfloating processing to each set of spectral components prior toquantizing them. The bit allocator 122 determines a scale factor foreach set, and the spectral quantizer 123 divides each spectral componentin the set by the scale factor. The resulting mantissas are thenquantized. In practice, as will be described in more detail below, thespectral components in each set of spectral components are divided byfrequency into frequency bands, the bit allocator 122 determines a scalefactor for each frequency band, and the spectral quantizer 123 appliesblock floating processing to the spectral components in each frequencyband using the respective scale factor.

The bit allocator 122 adaptively determines the word length and scalefactor for quantizing the spectral coefficients in each set of spectralcomponents, and feeds the scale factor and word length to the spectralquantizer 123. The spectral quantizer 123 uses the scale factor and wordlength to non-linearly quantize the spectral components in therespective set of spectral components by, for example, block floatingprocessing and non-linear quantizing, to generate a set of non-linearlyquantized spectral components. Finally, the bit allocator 122 feeds thebit allocation parameters and the spectral quantizer 123 feeds therespective set of non-linearly quantized spectral components to themultiplexer 125. The multiplexer multiplexes the bit allocationparameters and the non-linearly quantized spectral components to formthe compressed signal for feeding to the recording or transmissionmedium 113.

To ensure that the quantizing noise resulting from the non-linearquantizing performed by the spectral quantizer 123 remains subjectivelyinaudible, or minimally audible, to the listener, the bit allocationprocessing performed by the bit allocator 122 is based on apsychoacoustic model schematically represented by the psychoacousticmodel 124. The psychoacoustic model used by the bit allocationprocessing might typically include such data as threshold-of-detectioncurves, equal loudness curves, simultaneous masking characteristics, andtemporal masking characteristics.

In the audio compressor 111 embodying the non-linear quantizing methodaccording to the invention, the spectral quantizer 123 shown in FIG. 12may employ the first non-linear quantizing method according to theinvention, described above with reference to FIGS. 7 and 8. Otherembodiments of the non-linear quantizing method that will be describedbelow can also be substituted for the first non-linear quantizing methodin the spectral quantizer 123. The spectral quantizer 123 will now bedescribed with reference to FIG. 12.

In the spectral quantizer 123, the block floating processor 132 receivesthe sets of spectral components from the time/frequency analyzer 121 andreceives the respective scale factor for each set from the bit allocator122. The block floating processor 132 applies block floating processingto each set of spectral components by dividing the spectral componentsin the set by the respective scale factor. The resulting sets of blockfloating-processed spectral components are fed to the non-linearquantizer 133 via the input terminal 10. The non-linear quantizer 133also receives the word length for each set of spectral components fromthe bit allocator 122 via the input terminal 11, and non-linearlyquantizes each set of block floating-processed spectral components inresponse to the word length. The non-linear quantizer feeds theresulting set of quantized spectral components to the multiplexer 125via the output terminal 14.

When the non-linear quantizer described above with reference to FIG. 7and embodying the first non-linear quantizing method is used as thenon-linear quantizer 133, the quantizer 32 quantizes each of the blockfloating-processed spectral components in the set of blockfloating-processed spectral components received from the block floatingprocessor 132 via the input terminal 10. The quantizer 32 quantizes theblock floating-processed spectral components to the nearest quantizingvalue in the number of quantizing values calculated by the quantizingvalue calculator 31. The quantizing value calculator 31 calculates thenumber of quantizing values using the non-linear function from thenon-linear function block 33 and from the input indicating therespective word length received via the input terminal 11. The quantizer32 feeds the resulting set of quantized spectral components to themultiplexer 125 via the output terminal 14.

In the audio compressor 111, the time-frequency analyzer 121 may bebased on a hybrid of transform and subband coding, although it is notlimited to such a structure. An example of the time-frequency analyzer121 incorporating the ATRAC hybrid coding technique, used, for example,for compressing a PCM audio signal to generate the compressed signal forrecording on a MiniDisc, is shown in FIG. 13. The input terminal 151 issupplied with a PCM audio input signal in the frequency range of, e.g.,0 Hz to 20 kHz. The audio input signal is divided into a frequency rangesignal in the frequency range of 0 Hz to 10 kHz and a high frequencyrange signal in the frequency range of 10 to 20 kHz by the frequencyrange division filter 153. The frequency range signal in the frequencyrange of 0 Hz to 10 kHz is further divided into a low frequency rangesignal in the frequency range of 0 Hz to 5 kHz and a middle frequencyrange signal in the frequency range of 5 to 10 kHz by the frequencyrange division filter 155. Quadrature mirror filters (QMFs) arepreferably used as the frequency range division filters 153 and 155.

Alternatively, when the PCM audio input signal has a frequency range of0 Hz to 22 kHz, the high frequency range signal has a frequency range of11 kHz to 22 kHz, the middle frequency range signal has a frequencyrange of 5.5 kHz to 11 kHz, and the low frequency range signal has afrequency range of 0 Hz to 5.5 kHz.

The frequency range signal in the high frequency range is fed from thefrequency range division filter 153 to the high-frequency orthogonaltransform circuit 157, the frequency range signal in the middlefrequency range is fed from the frequency range division filter 155 tothe middle-frequency orthogonal transform circuit 159, and the frequencyrange signal in the low frequency range is fed from the frequency rangedivision filter 159 to the low-frequency orthogonal transform circuit161.

The orthogonal transform circuits 157, 159, and 161, which arepreferably modified discrete cosine transform (MDCT) circuits,orthogonally transform frames of the respective frequency range signalsto collectively generate respective sets of spectral components forfeeding to the bit allocator 122 and the spectral quantizer 123. Thesets of spectral components collectively generated by the orthogonaltransform circuits 157, 159, 161 are fed to the output terminal 165,whence they are fed to the bit allocator 122 and the spectral quantizer123.

The audio input signal received by the input terminal 151 is notionallydivided into frames of a predetermined number of samples. The orthogonaltransform circuits 157, 159, and 161 orthogonally transform the framesof the three frequency range signals derived from each frame of theaudio input signal to collectively generate a set of spectralcomponents. To provide further flexibility and to eliminate audibletime-domain artifacts, such as noise modulation, the orthogonaltransform circuits 157, 159, and 161 orthogonally transform the eachframe of the frequency range signals in blocks having a variable blocklength. The block length in which each frequency range signal isorthogonally transformed is equal to the frame length divided by 2^(n),where n is a positive integer equal to or greater than zero. The blocklengths in which each frame of the audio input signal is orthogonallytransformed in the three frequency ranges are decided by the blocklength decision block 163 on the basis of the dynamic spectralcharacteristics of the digital input signal. In general, thehigh-frequency range signal is orthogonally transformed in blocks havinga shorter block length than the low- and middle-frequency range signals.The block length decision block 163 also reduces the block lengths inframes of the digital input signal in which the level of the digitalinput signal changes compared with frames of the digital input signal inwhich the level remains relatively constant.

In another possible configuration of the time-frequency analyzer 121 inthe audio compressor 112, a time-frequency transform similar to thatspecified by the MPEG Layer 3 audio coding standard is used. In this,the audio input signal is divided by a set of filters into thirty-twosubbands of equal width, followed by an MDCT transform.

In the audio compressor 111 described above, the spectral components inthe sets of spectral components may be divided into frequency bandsprior to quantizing by the spectral quantizer 123. In this case, the bitallocator 122 will allocate a scale factor and a word length forquantizing the spectral components in each frequency band, the blockfloating processor 132 will apply block floating processing to thespectral components in each frequency band, and the non-linear quantizerwill non-linearly quantize the spectral components in each frequencyband in response to the respective word length for the band. When thenon-linear quantizer 133 embodies the first non-linear quantizing methodaccording to the invention, the quantizing value calculator 31 thereincalculates a quantizing value for each of the number of quantizinglevels indicated by the respective word length in each frequency band,and the quantizer 32 therein quantizes the block floating-processedspectral components in each frequency band to the nearest quantizingvalue determined for the band by the quantizing value calculator 31.

In the audio transmission or recording system 110, the expander 112 willaccurately expand the compressed signal reproduced from the recording ortransmission medium 113 as long as the non-linear dequantizer in theexpander operates using the inverse of the non-linear function used bythe non-linear quantizer 133 in the compressor 111. As far as theexpander is concerned, it is irrelevant whether the quantized spectralcomponents in the compressed signal were quantized using the non-linearquantizing according to the present invention or according to the priorart, since the quantizing values of the quantizing levels are the samein both cases. However, when the quantized spectral components in thecompressed signal have been non-linearly quantized by the non-linearquantizing method according to the invention, the quantizing errorsresulting when the expander 112 expands the compressed signal aresmaller than when the non-linear quantizing has been performed accordingto the prior art. This is because non-linear quantizing according to theinvention uses different decision values from those used by prior-artnon-linear quantizing using the same non-linear function.

The non-linear quantizer embodying the first non-linear quantizingmethod according to the invention and described above with reference toFIGS. 7 and 8 uses a fixed non-linear function f(), and calculates thequantizing values anew each time the word length or the number ofquantizing levels is changed. This may consume considerable computingpower. Moreover, the quantizing effects of a given non-linear functionf() may vary according to the number of quantizing levels.

Accordingly, a non-linear quantizer embodying a second non-linearquantizing method according to the invention uses a look-up table thatdefines an input range x with a quantized output value T x! for eachquantizing level. No pre-processing using the non-linear function f()need be performed during the quantizing processing. Instead, thenon-linearity of the quantizing is determined by the distribution of theinput ranges specified in T !. These input ranges may be set arbitrarilywithout changing the complexity of the quantizing process. A separatelook-up table T ! must be specified for each possible number ofquantizing levels. When the input ranges and quantizing values in eachlook-up table T ! are based on a single non-linear function f(), theinput ranges and quantizing values may be chosen in such a way that anon-linear quantizer embodying the second non-linear quantizing methodaccording to the invention generates smaller quantizing errors than aprior-art non-linear quantizer based on the same non-linear function.

A block diagram of a non-linear quantizer 40 embodying the secondnon-linear quantizing method according to the invention is shown in FIG.14. In this second non-linear quantizing method, the data subject toquantizing are non-linearly quantized using a look-up table selectedfrom a set of look-up tables to generate the non-linearly quantizeddata.

In FIG. 14, in the non-linear quantizer 40, the table quantizer 42receives the data subject to quantizing via the input terminal 10,quantizes each of the data subject to quantizing using a look-up tablereceived from the table selector 42 to generate respective non-linearlyquantized data, and supplies the resulting quantized data to the outputterminal 14. The data subject to quantizing received via the inputterminal 10 are normally a block or set of data, such as a set ofspectral coefficients, that are to be quantized using the same number ofquantizing levels or the same word length.

The table selector 41 stores a set of look-up tables for use by thetable quantizer 42. The table selector 41 receives via the inputterminal 11 an input indicating the number of quantizing levels to beused for quantizing the data subject to quantizing. In response to theinput indicating the number of quantizing levels, the table selector 41selects one of the look-up tables from the set of look-up tables storedtherein, and feeds the selected look-up table to the table quantizer 42.The table selector 41 can alternatively receive an input indicating theword length to be used for quantizing the data subject to quantizing inlieu of the input indicating the number of quantizing levels.

The look-up tables in the set of look-up tables stored in the tableselector 41 are normally derived from a non-linear function f()indicated diagrammatically in FIG. 14 by the non-linear function block43. The set of look-up tables stored in the table selector 41 for agiven non-linear function consists of a unique look-up table for eachpossible value of the number of quantizing levels (or word length). Eachlook-up table consists of a table entry for each quantizing level in thenumber of quantizing levels indicated by the quantizing level datareceived via the input terminal 11. Each table entry consists of theinput range and the output quantized value for the quantizing level.

The union of the input ranges for all the table entries in each look-uptable must encompass the range of data values of the data subject toquantizing, so that a table entry exists for every possible data valuein the range of data values. Moreover, there must be no overlap of theinput ranges of the table entries in each look-up table, so that no morethan one table entry exists for every possible data value in the rangeof data values. In other words, in each look-up table, there must beone, and only one, table entry that has an input range that correspondsto each possible data value in the range of data values.

An example of the look-up table for five quantizing levels is shown inFIG. 15. To simplify the table, the input data ranges are represented bydecimal numbers with a resolution of 0.01 instead of by binary numberswith a resolution of the least-significant bit. In practice, the inputranges would be represented by binary numbers having a number of bitsequal to, or greater than, the number of bits in each of the datasubject to quantizing. To ensure that the input ranges cover the wholeof the range of data values without overlap, the maximum of each datarange would differ from the minimum of the next-higher input range bythe least-significant bit.

Returning now to FIG. 14, the table selector 41 selects the appropriatelook-up table from the set of look-up tables stored therein in responseto the input received via the input terminal 11 indicating the number ofquantizing levels for quantizing the data subject to quantizing, andfeeds the selected look-up table to the table quantizer 42. Then, foreach of the data subject to quantizing, table quantizer determines theone of the input ranges in the selected look-up table into which thedata value falls, and provides the corresponding output quantized valuefrom the look-up table as the respective one of the non-linearlyquantized data.

The non-linear quantizer 40 shown in FIG. 14 provides a great deal offlexibility, since it can perform quantizing using any non-linearfunction f(), and its complexity does not increase with increasingcomplexity of the non-linear function f().

In generating the look-up tables stored in the table selector 41, thelimits of the input ranges may be determined in any desired manner, forexample, by conversion from a non-linear function f(), or by directcalculation.

When the input ranges are calculated directly, the non-linear quantizer40 will generate the lower quantizing errors provided by the firstnon-linear quantizing method according to the invention operating withthe same non-linear function. These quantizing errors are lower than theprior-art non-linear quantizer shown in FIG. 2 operating with the samenon-linear function. As shown in FIG. 6, the decision values between thequantizing levels of the prior-art non-linear quantizer shown in FIG. 2are not located at the midpoints between the quantizing values. As aresult, some data values are not quantized to the nearest quantizingvalue. This is an artifact of prior-art non-linear quantizers. Thenon-linear quantizer 40 embodying the second quantizing method accordingto the invention, on the other hand, allows the input ranges in thelook-up tables to be chosen to make the decision values fall exactly atthe midpoints between the quantizing values. When this is done, thequantizing errors generated by the second non-linear quantizing methodaccording to the invention are as shown by the solid lines in FIGS. 10Aand 10B for three-level and seven-level quantizing, respectively. Thequantizing errors generated by prior-art non-linear quantizing are shownby dotted lines in these figures for comparison.

As mentioned above, the non-linear quantizer 40 embodying the secondnon-linear quantizing method according to the invention may besubstituted for the non-linear quantizer 30 embodying the firstnon-linear quantizing method according to the invention as thenon-linear quantizer 133 in the compressor 111 of the audio signaltransmission or recording system shown in FIGS. 11-13. The secondnon-linear quantizing method according to the invention is not limitedto this application, however. The second non-linear quantizing methodaccording to the invention will confer the advantages described abovewhen used in other non-linear quantizing applications.

When a non-linear quantizer embodying the second non-linear quantizingmethod according to the invention is used as the non-linear quantizer133, the table selector 41 receives the word length for each set ofspectral components from the bit allocator 122 via the input terminal11, and the table quantizer 42 receives the sets of blockfloating-processed spectral components from the block floating processor132 via the input terminal 10. The table quantizer then quantizes theblock floating-processed spectral components in each set using thelook-up table selected by the table selector 41 in response to the wordlength for the set received from the bit allocator 122. The tablequantizer feeds the resulting set of quantized spectral components tothe multiplexer 125 via the output terminal 14.

If the sets of spectral components are divided into frequency bandsprior to quantizing, the bit allocator 122 will allocate a scale factorand a word length for quantizing the spectral components in eachfrequency band, and the block floating processor 132 will apply blockfloating processing to the spectral components in each frequency band.In this case, the table selector 41 will select a look-up table for eachfrequency band for feeding to the table quantizer 42, and the tablequantizer 42 will quantize the block floating-processed spectralcomponents in each band using the look-up table for the band receivedfrom the table selector. Alternatively, the table selector 41 may selecta look-up table corresponding to each of the different word lengths withwhich the set of spectral components is to be quantized, and may feedthese look-up tables to the table quantizer 42 together with correlationdata indicating which look-up table is to be used for quantizing eachthe frequency bands. The table quantizer would then quantize thespectral components in each of the frequency bands using the look-uptable indicated by the correlation data.

In the embodiment just described, the quantizing value for eachquantizing level can be stored in the tables in the table selector 41 inlieu of the input range for each quantizing value. In this case, thetable quantizer will quantize each of the data subject to quantizing tothe nearest quantizing value.

A non-linear quantizer 50 embodying a third non-linear quantizing methodaccording to the invention will now be described with reference to FIGS.16A, 16B, and 17. The non-linear quantizer 50 is based on the non-linearquantizer 10 shown in FIG. 2, and the data subject to quantizing arepre-processed according to a non-linear function before being quantizedusing a linear quantizer. In the non-linear quantizer 50, quantizingerrors are reduced relative to those produced by the non-linearquantizer 10 shown in FIG. 2 by replacing the non-linear function usedto pre-process the data subject to quantizing with a selected piecewiselinear approximation of the non-linear function. The piecewise linearapproximation selected depends on the number of quantizing levels (orthe word length) with which the data subject to quantizing will bequantized following pre-processing. The pre-processed data resultingfrom pre-processing the data subject to quantizing with the selectedpiecewise linear approximation are then linearly quantized with thecorresponding number of quantizing levels having uniformly-spacedquantizing values to provide the non-linearly quantized data. The thirdnon-linear quantizing method according to the invention provides lowerquantizing errors than prior-art non-linear quantizing using the sameprototype non-linear function.

To accommodate quantizing using different numbers of quantizing levels(or different word lengths) a set of piecewise linear approximations ofthe prototype non-linear functions is provided. Each piecewise linearapproximation of the non-linear function in the set is a differentpiecewise linear approximation of the prototype non-linear functioncorresponding to each number of quantizing levels (or each word length).Each piecewise linear approximation of the non-linear function is equalto the prototype non-linear function at each of the quantizing values,and is linear between successive quantizing values. FIGS. 16A and 16Bshow an exemplary prototype non-linear function, indicated by the dottedline, and, indicated by the solid line, the corresponding piecewiselinear approximation for five quantizing levels and seven quantizinglevels, respectively.

FIG. 17 shows a block diagram of the non-linear quantizer 50 embodyingthe third non-linear quantizing method according to the invention. Inthe non-linear quantizer 50, the data subject to quantizing are fed viathe input terminal 10 to the pre-processor 21. The data subject toquantizing are normally a block or set of data, such as a set ofspectral coefficients, that are to be quantized using the same number ofquantizing levels or the same word length. The pre-processor 21pre-processes each of the data subject to quantizing according to thepiecewise linear approximation of the non-linear function received fromthe piecewise linear approximator 51, and feeds the resultingpre-processed data to the linear quantizer 22. The linear quantizer 22uses uniformly-spaced quantizing values set according to an inputreceived via the input terminal 11 indicating the number of quantizinglevels. The linear quantizer 22 quantizes the pre-processed data to thequantizing level corresponding to the nearest uniformly-spacedquantizing value and feeds the resulting non-linearly quantized data tothe output terminal 14.

The piecewise linear approximator 51 receives the prototype non-linearfunction from the non-linear function block 53 and also receives via theinput terminal 11 an input indicating the number of quantizing levels tobe used for quantizing the data subject to quantizing. In response tothe input indicating the number of quantizing levels and the prototypenon-linear function, the piecewise linear approximator 51 generates thepiecewise linear approximation of the non-linear function correspondingto the number of quantizing levels (or the word length), and feeds thisapproximation to the pre-processor 21. In lieu of the input indicatingthe number of quantizing levels, the piecewise linear approximator 51and the linear quantizer 22 can alternatively receive an inputindicating the word length with which the data subject to quantizingwill be quantized.

The reduction in quantizing errors provided by the third non-linearquantizing method according to the invention compared with prior-artnon-linear quantizing using the same prototype function can be seen bycomparing quantizing values and the decision values between consecutivequantizing values in the input domain. If the non-linear function shownin FIG. 4 is used as the prototype non-linear function, the quantizingvalues would be, by definition, identical to those shown in FIGS. 5 and6. In other words, the decision values indicated by dotted lines in FIG.6 would not be located at the midpoints between successive quantizingvalues. However, because the piecewise linear approximations of thenon-linear function used by the third non-linear quantizing methodaccording to the invention are linear between consecutive quantizingvalues, the decision values fall at the midpoints between theconsecutive quantizing values, as shown in FIG. 18. This reduces thequantizing errors without changing the non-linearity of the quantizeddata points.

The quantized data generated by the third non-linear quantizing methodaccording to the invention can be dequantized using a prior-artnon-linear dequantizer based on the inverse of the prototype non-linearfunction. Such dequantizing would result in reduced quantizing errors.For example, if the non-linear function shown by the solid line in FIG.9 were used as the prototype non-linear function, the quantizing errorswould be as shown by the solid line in FIGS. 10A and 10B for three andseven quantizing levels, respectively, when the quantized data resultingfrom quantizing by the third non-linear quantizing method according tothe invention are dequantized using a prior-art dequantizer using theinverse of the prototype non-linear function. For comparison, thequantizing errors resulting from quantizing the data using prior-artnon-linear quantizing are indicated by the dotted lines in FIGS. 10A and10B. In all cases, the quantizing errors generated by the quantizingmethod according to the invention are less than or equal to thequantizing errors generated by prior art non-linear quantizing.

As mentioned above, a non-linear quantizer embodying the thirdnon-linear quantizing method according to the invention may besubstituted for the non-linear quantizer 30 embodying the firstnon-linear quantizing method according to the invention as thenon-linear quantizer 133 in the compressor 111 of the audio signaltransmission or recording system shown in FIGS. 11-13. The thirdnon-linear quantizing method according to the invention is not limitedto this application, however. The third non-linear quantizing methodaccording to the invention will confer the advantages described abovewhen used in other non-linear quantizing applications.

When a non-linear quantizer embodying the third non-linear quantizingmethod according to the invention is used as the non-linear quantizer133, the piecewise linear approximator 52 and the linear quantizer 22receive the word length for each set of spectral components from the bitallocator 122 via the input terminal 11, and the pre-processor 21receives the sets of block floating-processed spectral components fromthe block floating processor 132 via the input terminal 10. Thepre-processor 21 pre-processes the block floating-processed spectralcomponents in each set using the piecewise linear approximation of thenon-linear function generated by the piecewise linear approximator 52 inresponse to the word length for the set received from the bit allocator122. The linear quantizer 22 linearly quantizes the resultingpre-processed spectral components in the set to generate a set ofnon-linearly quantized spectral components. The linear quantizer feedsthe set of non-linearly quantized spectral components to the multiplexer125 via the output terminal 14.

If the sets of spectral components are divided in frequency intofrequency bands prior to quantizing, as mentioned above, the bitallocator 122 will allocate a scale factor and a word length forquantizing the spectral components in each frequency band, and the blockfloating processor 132 will apply block floating processing to thespectral components in each frequency band. In this case, the piecewiselinear approximator 52 will generate a piecewise linear approximation ofthe non-linear function for each frequency band for feeding to thepre-processor 21, and the pre-processor 21 will pre-process the blockfloating-processed spectral components in each frequency band using thepiecewise linear approximation for the band received from the piecewiselinear approximator.

The non-linear quantizers described above, and non-linear quantizersaccording to the prior art, use the same non-linear function f()irrespective of the number of quantizing levels (or the word length).This limits the performance of the quantizer, because the quantizingeffects of a given function vary according to the number of quantizinglevels (or the word length) used to quantize the data. In a non-linearquantizer embodying a fourth non-linear quantizing method according tothe invention, the non-linear function f() is chosen from among a set ofnon-linear functions according to the number of quantizing levels (orthe word length) allocated for quantizing the data. The set ofnon-linear functions may consist of a set of piecewise linearapproximations of respective prototype non-linear functions that differaccording to the number of quantizing levels allocated for quantizingthe data.

FIG. 19 shows an exemplary set of non-linear functions for use in thefourth non-linear quantizing method according to the invention. The setcontains seven members, and is therefore suitable for a quantizingscheme in which the number of quantizing levels has seven allowablevalues. Alternatively, this set of non-linear functions can also be usedin a non-linear quantizing scheme in which the number of quantizinglevels has more than seven allowable values if two or more of the valuesof the number of quantizing levels use the same non-linear function.

In the set of non-linear functions shown in FIG. 19, the function thatis closest to a linear function would preferably be used with thesmallest number of quantizing levels, i.e., with the shortest quantizingword length. Progressively larger values of the number of quantizinglevels or longer quantizing word lengths would select non-linearfunctions that are progressively more non-linear. This permits highlynon-linear quantizing to be performed using large quantizing wordlengths, while preventing the gross distortion that would result if ahighly non-linear function were used with small quantizing word lengths.

For example, a non-linear function such as y=x⁰.55 could be used with aword length of about 2 or 3 bits, and a non-linear function such asy=x⁰.4 could be used with a word length of 4 bits.

FIG. 20 shows a block diagram of a non-linear quantizer 60 embodying thefourth non-linear quantizing method according to the invention. In thequantizer 60, the data subject to quantizing are pre-processed by thepre-processor 21 according to a non-linear function received from thenon-linear function selector 62. The resulting pre-processed data arethen fed from the pre-processor 21 to the linear quantizer 22, whichlinearly quantizes them to generate the non-linearly quantized datawhich it feeds to the output terminal 14.

The non-linear function block 63 stores a set of different non-linearfunctions. The non-linear function block may alternatively store apiecewise linear approximation of each non-linear function in lieu ofthe non-linear function itself. Using the piecewise linear approximationof the non-linear function in lieu of the non-linear function itselfreduces quantizing errors by changing the decision values so that theyoccur at the midpoint between adjacent quantizing values. Forsimplicity, unless otherwise stated, references below to "non-linearfunction" will be taken to mean a non-linear function and a piecewiselinear approximation of the non-linear function.

The non-linear function selector 62 uses a predetermined non-linearfunction selection method to select, from the set of non-linearfunctions stored in the non-linear function block 63, one of thenon-linear functions to be used for non-linearly quantizing the datasubject to quantizing. The non-linear function selector 62 feeds selectsthe selected non-linear function to the pre-processor 21. Thepre-processor 21 receives the data subject to quantizing via the inputterminal 10 and pre-processes each of the data subject to quantizingaccording to the selected non-linear function, and feeds the resultingpre-processed data to the linear quantizer 22. The linear quantizer 22linearly quantizes the pre-processed data to provide the non-linearlyquantized data, which it feeds to the output terminal 14.

In the most general implementation of the fourth embodiment of thenon-linear quantizer 60, the set of non-linear functions stored in thenon-linear function block 61 contains a non-linear function for eachallowable number of quantizing levels (or each allowable word length).An input is received via the input terminal 11 indicating the number ofquantizing levels to be used for quantizing the data subject toquantizing, and is fed to the linear quantizer 22 and additionally tothe non-linear function selector 62. In response to the input indicatingthe number of quantizing levels (or the word length) to be used forquantizing the data subject to quantizing, the non-linear functionselector 62 selects one of the non-linear functions stored in thenon-linear function block 63 for feeding to the pre-processor 21.

In another implementation, the non-linear function selector 62 may beconfigured such that two or more possible values of the number ofquantizing levels select the same non-linear function. However, if apiecewise linear approximation of the non-linear function is used inlieu of the non-linear function itself, a different piecewiseapproximation must be used for each value of the number of quantizinglevels, even though two of more possible values of the number ofquantizing levels select the same prototype non-linear function.

As mentioned above, a non-linear quantizer embodying the fourthnon-linear quantizing method according to the invention may besubstituted for the non-linear quantizer embodying the first non-linearquantizing method according to the invention as the non-linear quantizer133 in the compressor 111 of the audio signal transmission or recordingsystem shown in FIGS. 11-13. The fourth non-linear quantizing methodaccording to the invention is not limited to this application, however.The fourth non-linear quantizing method according to the invention willconfer the advantages described above when used in other non-linearquantizing applications.

When the non-linear quantizer embodying the fourth non-linear quantizingmethod according to the invention is used as the non-linear quantizer133, the non-linear function selector 62 receives the word length foreach set of spectral components from the bit allocator 122 via the inputterminal 11, and the pre-processor 21 receives the sets of blockfloating-processed spectral components from the block floating processor132 via the input terminal 10. The pre-processor 21 pre-processes theblock floating-processed spectral components in each set using thenon-linear function selected by the non-linear function selector 62 inresponse to the word length for the set received from the bit allocator122. The linear quantizer 22 linearly quantizes the resultingpre-processed spectral components in the set to generate a set ofnon-linearly quantized spectral components, which it feeds to themultiplexer 125 via the output terminal 14.

If the sets of spectral components are divided in frequency intofrequency bands prior to quantizing, as mentioned above, the bitallocator 122 will allocate a scale factor and a word length forquantizing the spectral components in each frequency band, and the blockfloating processor 132 will apply block floating processing to thespectral components in each frequency band. In this case, the non-linearfunction selector 62 will select for each frequency band a non-linearfunction from the set of non-linear functions stored in the non-linearfunction set 61. The non-linear function selector will feed thenon-linear function selected for each frequency band to thepre-processor 21, and the pre-processor 21 will pre-process the blockfloating-processed spectral components in each frequency band using thenon-linear function for the frequency band received from the non-linearfunction selector.

The first and second non-linear quantizing methods according to theinvention can also employ different non-linear functions depending onthe word length or the number of quantizing levels. In the non-linearquantizer embodying the first non-linear quantizing method according tothe invention and shown in FIG. 7, the input received via the inputterminal 11 can also be fed to the non-linear function block 33, asindicated by the broken line 34, and the non-linear function block 33can supply to the quantizing value calculator 31 a non-linear functionthat depends on the number of quantizing levels or the word length.

In the non-linear quantizer embodying the second non-linear quantizingmethod according to the invention and shown in FIG. 14, the data entriesin the tables in the set of tables stored in the table selector 41 canbe calculated using different non-linear functions depending on thenumber of quantizing levels. Selecting the look-up table in response tothe input indicating the number of quantizing levels (or the wordlength) received via the input terminal 11 would then automaticallyselect a non-linear function that differs according to the number ofquantizing levels.

The use of different non-linear functions in the third non-linearquantizing method according to the invention is described above withreference to FIG. 20.

When the quantized data are quantized using a non-linear functionselected according to the number of quantizing levels with which thedata subject to quantizing are quantized, the quantized data cannot bedequantized using a prior art dequantizer. This is because the prior artdequantizer is based on only a single non-linear function. FIG. 21 is ablock diagram of a non-linear dequantizer 70 embodying the non-lineardequantizing method according to the invention. In the non-linearquantizer 70, the linear dequantizer 71 receives the non-linearlyquantized data via the input terminal 15, and a respective inputindicating the number of quantizing levels (or the word length) withwhich the non-linearly quantized data are quantized via the inputterminal 16. The input indicating the number of quantizing levels isalso fed to the inverse non-linear function selector 74. The lineardequantizer 71 dequantizes the non-linearly quantized data in accordancewith the input indicating the number of quantizing levels, and feeds theresulting non-linear data to the post-processor 72, which applies postprocessing according to a selected inverse non-linear function and feedsthe resulting dequantized data to the output terminal 17.

Since it must dequantize quantized data that have been quantized usingdifferent non-linear functions selected according to the number ofquantizing levels, the dequantizer 70 includes the inverse non-linearfunction block 73, in which are stored a set of plural inversenon-linear functions. Each inverse non-linear function in the setcorresponds to one of the non-linear functions originally used in thecompressor 111 (FIG. 11) to quantize the data subject to quantizing. Forexample, each of the inverse non-linear functions in the set maycorrespond to one of the non-linear functions stored in the non-linearfunction block 63 in the quantizer 60 (FIG. 20).

The inverse non-linear quantizer 70 also includes the inverse non-linearfunction selector 74, which selects one of the set of inverse non-linearfunctions stored in the inverse non-linear function block 73 using thesame selection method as that which was used to select the non-linearfunction in the quantizer. The selected inverse non-linear function isfed to the post-processor 72, which applies post processing to thenon-linear data from the linear dequantizer 71 using the selectedinverse non-linear function. Thus, in the example shown, the postprocessor 72 applies post processing to the non-linear data using theinverse of the non-linear function that was used in the quantizer 60 topre-process the data subject to quantizing. The post-processor 72 feedsthe resulting dequantized data to the output terminal 17.

In the most general implementation of the non-linear dequantizer 70, theset of inverse non-linear functions stored in the inverse non-linearfunction block 73 contains an inverse non-linear function for eachallowable value of the number of quantizing levels (or word length). Theinput fed via the input terminal 11 to the linear dequantizer 71indicating the number of quantizing levels (or the word length) used forquantizing the non-linearly quantized data is additionally fed to theinverse non-linear function selector 74. In response to the inputindicating the number of quantizing levels used for quantizing thenon-linearly quantized data, the inverse non-linear function selectorselects one of the inverse non-linear functions stored in the inversenon-linear function block 73 for feeding to the post-processing block72.

In embodiments in which there are fewer inverse non-linear functions inthe set of inverse non-linear functions than the number of allowablevalues of the number of quantizing levels (or word length), the inversenon-linear function selector 74 still requires that an input from theterminal 11 indicating the number of quantizing levels (or the wordlength).

FIG. 22 shows a block diagram of an example of the application of adequantizer embodying the dequantizing method according to the inventionin the audio expander 112 of the audio transmission or recording system110 shown in FIG. 11. The non-linear dequantizing method according tothe invention is not limited to this application, however. The methodwill confer the advantages described above when used in other non-lineardequantizing applications.

In the expander 112, the compressed signal from the transmission orrecording medium is received by the demultiplexer 225. The demultiplexer225 extracts the sets of quantized spectral components and therespective bit allocation parameters from the compressed signal, andalso extracts the word length and the scale factor for each set ofquantized spectral components from the bit allocation parameters. Thedemultiplexer feeds the sets of spectral components to the inputterminal 15 of the non-linear dequantizer 233, and feeds the respectiveword lengths to the input terminal 16 of the non-linear quantizer 233.The demultiplexer also feeds the scale factors to the block floatingrelease processor 232.

The non-linear dequantizer 233 non-linearly dequantizes each set ofnon-linearly quantized spectral components from the multiplexer 225using the respective word length to control the linear dequantizing ofthe quantized spectral components by the linear dequantizer 71 (FIG. 21)and to select the inverse non-linear function used by the post processor72 to apply post processing to the non-linear spectral componentsresulting from the linear dequantizing by the linear dequantizer 71.

The sets of block floating processed spectral components generated bythe non-linear quantizer 233 are fed to the block floating releaseprocessor 232, which reverses the block floating processing applied toeach set of spectral components in the compressor. The block floatingrelease processor multiplies the block floating-processed spectralcomponents in each set by the scale factor for the set received from thedemultiplexer 225 to produce a set of reconstructed spectral components.

The block floating release processor 232 feeds the set of reconstructedspectral components to the time-frequency synthesizer 221. Thetime-frequency synthesizer 221 transforms each set of reconstructedspectral components back into the time domain to reconstruct a block ofthe audio output signal.

If the sets of spectral components are divided in frequency intofrequency bands prior to quantizing in the compressor 111, thedemultiplexer 225 will extract each band of quantized spectralcomponents and its respective scale factor and word length from thecompressed signal. The non-linear dequantizer 233 will non-linearlydequantize the quantized spectral components in each frequency bandusing the word length for the band, and the block floating release 232will release the block floating applied to each resulting blockfloating-processed spectral components to generate a band ofreconstructed spectral components. The time-frequency synthesizer 221then orthogonally transforms the reconstructed spectral components inall the frequency bands back to the time domain, and synthesizes theresulting blocks of the frequency range signals to reconstruct one blockof the audio output signal.

Although illustrative embodiments of the invention are described hereinin detail, the invention is not limited to the precise embodimentsdescribed, and various modifications may be practiced within the scopeof the invention defined by the appended claims.

I claim:
 1. A method of non-linearly quantizing data representing aninformation signal to generate therefrom respective quantized datarepresenting the information signal using fewer bits, each of the data,when non-linearly quantized, being represented by a quantizing levelselected from a number of quantizing levels, the method non-linearlyquantizing the data according to a non-linear function, and comprisingsteps of:receiving the data, each of the data having a data value;receiving word-length information indicating the number of quantizinglevels; determining, from the word-length information and the non-linearfunction, a quantizing value for each quantizing level in the number ofquantizing levels, the quantizing values determined for all thequantizing levels in the number of quantizing levels being non-uniformlyspaced; calculating a decision value between each quantizing level inthe number of quantizing levels and a respective adjacent quantizinglevel, the decision value being calculated from the quantizing value ofthe quantizing level and the quantizing value of the adjacent quantizinglevel, wherein the decision values do not lie halfway between adjacentquantizing levels, determining an input range for each quantizing levelin the number of quantizing levels, the input range for the quantizinglevel being determined from adjacent decision values encompassing thequantizing value of each quantizing level; and selecting the quantizinglevel having the quantizing value closest in value to the data value ofeach one of the data as a respective one of the quantized data andwherein the quantizing level having the input range encompassing thedata value of each one of the data is selected as the respective one ofthe quantized data.
 2. The method of claim 1, wherein:the non-linearfunction has an output range; and the determining step includes stepsof:deriving an inverse non-linear function from the non-linear function,the inverse non-linear function being inverse to the non-linearfunction, distributing the number of quantizing levels uniformly acrossthe output range of the non-linear function to generate a correspondingnumber of uniformly-spaced values, and processing each of theuniformly-spaced values using the inverse non-linear function togenerate a respective one of the quantizing values.
 3. The method ofclaim 1, wherein the method additionally comprises a step of performingtime-frequency analysis on the information signal to generate the data.4. The method of claim 3, wherein:the information signal comprises astream of plural samples; in the step of performing time-frequencyanalysis, the time-frequency analysis is performed on a block of thesamples of the information signal to generate the data; and the methodadditionally includes a step of deriving, from the block the samples ofthe information signal, the word-length information received in the stepof receiving word-length information.
 5. The method of claim 4,wherein:the step of performing time-frequency analysis includes stepsof:deriving a set of spectral components from the block of the samplesof the information signal, deriving a scale factor from the set ofspectral components, and applying block floating to the set of spectralcomponents using the scale factor to generate the data; and the step ofderiving the word-length information includes a step of deriving theword-length information from the set of spectral components.
 6. Themethod of claim 3, wherein:the information signal comprises a stream ofplural samples; the step of performing time-frequency analysis includesa step of orthogonally transforming a block of the samples of theinformation signal to generate the data.
 7. The method of claim 6,wherein:the step of orthogonally transforming a block of the samples togenerate the data includes steps of:orthogonally transforming a block ofthe samples to generate spectral components divided into frequencybands, deriving a scale factor for the spectral components in one of thefrequency bands, applying block floating to the spectral components inthe one of the frequency bands in response to the scale factor, andproviding the resulting block floating-processed spectral components asthe data; and the method additionally includes a step of deriving, fromthe spectral components in the one of the frequency bands, theword-length information received in the step of receiving word-lengthinformation.
 8. The method of claim 3, wherein the step of performingtime-frequency analysis includes a step of filtering the informationsignal to generate a sequence of time-domain spectral components in oneof plural subbands as the data.
 9. The method of claim 8, wherein:thestep of filtering includes steps of:deriving a scale factor for thesequence of time-domain spectral components in the one of pluralsubbands, applying block floating to the sequence of time-domainspectral components in the one of plural subbands in response to thescale factor, and providing the resulting block floating-processedspectral components as the data; and the method additionally includes astep of deriving, from the sequence of time-domain spectral componentsin the one of the frequency bands, the word-length information receivedin the step of receiving word-length information.
 10. The method ofclaim 1, wherein:the method additionally comprising a step of applyingblock floating to the data to generate block floating-processed data,each of the block floating-processed data having ablock-floating-processed data value; and in the step of selecting, thequantizing level having the quantizing value closest in value to theblock floating-processed data value of each one of the blockfloating-processed data is selected as a respective one of the quantizeddata.
 11. The method of claim 1, wherein:the method additionallycomprises a step of storing each quantizing level and the input rangethereof in a quantizing table; and the step of selecting the quantizinglevel includes steps of:comparing the data value with the input rangesstored in the quantizing table to identify the input range encompassingthe data value of the one of the data, and reading from the quantizingtable, as the respective one of the quantized data, the quantizing levelof the input range encompassing the data value of the one of the data.12. The method of claim 11, wherein:the method additionally comprisessteps of:providing an allowable range for the number of quantizinglevels, constructing a quantizing table for each number of quantizinglevels in the allowable range of the number of quantizing levels, eachquantizing table being constructed by repetitively performing, for eachquantizing level in the number of quantizing levels, the stepsof:determining the quantizing value for the quantizing level;calculating the decision value between the quantizing level and therespective adjacent quantizing level; determining the input range forthe quantizing level; and storing the quantizing level and the inputrange thereof in the quantizing table, and choosing, from the quantizingtables constructed by the constructing step, the quantizing table forthe number of quantizing levels indicated by the word-lengthinformation; and the steps of comparing the data value and reading fromthe quantizing table are performed using the quantizing table chosen inthe choosing step.
 13. The method of claim 12, wherein the data arenon-linearly quantized using one of plural non-linear functions, andwherein:the method additionally comprises steps of:providing pluralnon-linear functions, each of the non-linear functions corresponding toa different number of the quantizing levels; designating one of theplural non-linear functions in response to the word-length information;and in the step of determining the quantizing value for each quantizinglevel in the number of quantizing levels, the quantizing value isdetermined from the non-linear function designated in the designatingstep, and the word length information.
 14. The method of claim 1,wherein:the method additionally comprises a step of storing eachquantizing level and the quantizing value thereof in a quantizing table;and the step of selecting the quantizing level includes stepsof:comparing the data value with the input ranges stored in thequantizing table to identify the input range encompassing the data valueof the one of the data, and reading from the quantizing table, as therespective one of the quantized data, the quantizing level of the inputrange encompassing the data value of the one of the data.
 15. The methodof claim 14, wherein:the method additionally comprises stepsof:providing an allowable range for the number of quantizing levels,constructing a quantizing table for each number of quantizing levels inthe allowable range of the number of quantizing levels, each quantizingtable being constructed by repetitively performing, for each quantizinglevel, the steps of: determining the quantizing value; and storing thequantizing level and the quantizing value thereof in the quantizingtable, and choosing, from the quantizing tables constructed by theconstructing step, the quantizing table for the number of quantizinglevels indicated by the word-length information; and the steps ofcomparing the data value and reading from the quantizing table areperformed using the quantizing table chosen in the choosing step. 16.The method of claim 15, wherein the data are non-linearly quantizedusing one of plural non-linear functions, and wherein:the methodadditionally comprises steps of:providing plural non-linear functions,each of the non-linear functions corresponding to a different number ofthe quantizing levels; designating one of the plural non-linearfunctions in response to the word-length information; and in the step ofdetermining the quantizing value for each quantizing level in the numberof quantizing levels, the quantizing value is determined from thenon-linear function designated in the designating step, and the wordlength information.
 17. The method of claim 1, wherein the data arenon-linearly quantized using one of plural non-linear functions, andwherein:the method additionally comprises steps of:providing pluralnon-linear functions, each of the non-linear functions corresponding toa different number of the quantizing levels; designating one of theplural non-linear functions in response to the word-length information;and in the step of determining the quantizing value for each quantizinglevel in the number of quantizing levels, the quantizing value isdetermined from the non-linear function designated in the designatingstep, and the word length information.
 18. The method of claim 17,wherein:the non-linear function designated in the designating step hasan output range; and the determining step includes steps of:deriving aninverse non-linear function from the non-linear function, the inversenon-linear function being inverse to the non-linear function,distributing the number of quantizing levels uniformly throughout theoutput range of the non-linear function to generate a correspondingnumber of uniformly-spaced values, and processing each of theuniformly-spaced values using the inverse non-linear function togenerate a respective one of the quantizing values.
 19. A method ofquantizing data representing an information signal to generate therefromrespective quantized data representing the information signal usingfewer bits, each of the data, when quantized, being represented by aquantizing level selected from a number of quantizing levels, the methodcomprising steps of:receiving the data, each of the data having a datavalue; receiving word-length information indicating the number ofquantizing levels; providing a set of quantizing tables, the set ofquantizing tables including a quantizing table for each possible numberof quantizing levels, each quantizing table including a table entry foreach quantizing level in the respective number of quantizing levels,wherein each of the table entries define a decision level determinedaccording to a non-linear function, and wherein the decision levels lieoff-center between adjacent quantizing levels; choosing, from the set ofquantizing tables, the quantizing table for the number of quantizinglevels indicated by the word-length information; and selecting, from thequantizing table chosen in the choosing step, the quantizing level thetable entry whereof corresponds to the data value of each one of thedata as a respective one of the quantized data.
 20. The method of claim19, wherein, in the step of providing a set of quantizing tables, thetable entries in the quantizing tables provide a non-linear quantizingcharacteristic.
 21. The method of claim 20, wherein, in the step ofproviding a set of quantizing tables, the table entries in thequantizing tables are derived from a single non-linear function whichdetermines the non-linear quantizing characteristic.
 22. The method ofclaim 19, wherein, in the step of providing a set of quantizing tables,the table entries in the quantizing tables provide a differentnon-linear quantizing characteristic in different ones of the quantizingtables.
 23. The method of claim 22, wherein, in the step of providing aset of quantizing tables, the table entries in the quantizing tables formore quantizing levels provide a more non-linear quantizingcharacteristic than the table entries in the quantizing tables for fewerquantizing levels.
 24. The method of claim 19, wherein:in the step ofproviding a set of quantizing tables:each quantizing level has arespective quantizing value, and each table entry in the quantizingtables includes an input range for the respective quantizing level, theinput range encompassing values between adjacent decision levels; andthe selecting step selects the quantizing level of the table entrywherein the input range encompasses the data value of the one of thedata.
 25. The method of claim 24, wherein, in the step of providing aset of quantizing tables, the input ranges in the table entries in thequantizing tables are set to provide a non-linear quantizingcharacteristic.
 26. The method of claim 19, wherein:in the step ofproviding a set of quantizing tables:each quantizing level has arespective quantizing value, and each table entry in the quantizingtables includes the quantizing value for the respective quantizinglevel; and the selecting step selects the quantizing level in the tableentry wherein the quantizing value is closest in value to the data valueof the one of the data.
 27. The method of claim 26, wherein, in the stepof providing a set of quantizing tables, the quantizing values in thetable entries in the quantizing tables are set to provide a non-linearquantizing characteristic.
 28. The method of claim 19, wherein themethod additionally comprises a step of performing time-frequencyanalysis on the information signal to generate the data.
 29. The methodof claim 28, wherein:the information signal comprises a stream of pluralsamples; in the step of performing time-frequency analysis, thetime-frequency analysis is performed on a block of the samples of theinformation signal to generate the data; and the method additionallyincludes a step of deriving, from the block the samples of theinformation signal, the word-length information received in the step ofreceiving word-length information.
 30. The method of claim 29,wherein:the step of performing time-frequency analysis includes stepsof:deriving a set of spectral components from the block of the samplesof the information signal, deriving a scale factor from the set ofspectral components, and applying block floating to the set of spectralcomponents using the scale factor to generate the data; and the step ofderiving the word-length information includes a step of deriving theword-length information from the set of spectral components.
 31. Themethod of claim 28, wherein:the information signal comprises a stream ofplural samples; the step of performing time-frequency analysis includesa step of orthogonally transforming a block of the samples of theinformation signal to generate the data.
 32. The method of claim 31,wherein:the step of orthogonally transforming a block of the samples togenerate the data includes steps of:orthogonally transforming a block ofthe samples to generate spectral components divided into frequencybands, deriving a scale factor for the spectral components in one of thefrequency bands, applying block floating to the spectral components inthe one of the frequency bands in response to the scale factor, andproviding the resulting block floating-processed spectral components asthe data; and the method additionally includes a step of deriving, fromthe spectral components in the one of the frequency bands, theword-length information received in the step of receiving word-lengthinformation.
 33. The method of claim 28, wherein the step of performingtime-frequency analysis includes a step of filtering the informationsignal to generate a sequence of time-domain spectral components in oneof plural subbands as the data.
 34. The method of claim 33, wherein:thestep of filtering includes steps of:deriving a scale factor for thesequence of time-domain spectral components in the one of pluralsubbands, applying block floating to the sequence of time-domainspectral components in the one of plural subbands in response to thescale factor, and providing the resulting block floating-processedspectral components as the data; and the method additionally includes astep of deriving, from the sequence of time-domain spectral componentsin the one of the frequency bands, the word-length information receivedin the step of receiving word-length information.
 35. The method ofclaim 19, wherein:the method additionally comprises a step of applyingblock floating to the data to generate block floating-processed data,each of the block floating-processed data having ablock-floating-processed data value; and in the step of selecting, thequantizing level the table entry whereof corresponds to the blockfloating-processed data value of each one of the blockfloating-processed data is selected as a respective one of the quantizeddata.
 36. A method of non-linearly quantizing data representing aninformation signal to generate therefrom respective quantized datarepresenting the information signal using fewer bits, each of the data,when non-linearly quantized, being represented by a quantizing levelselected from a number of quantizing levels, the method comprising stepsof:providing a set of non-linear functions, the non-linear functionseach defining a non-linear quantizing characteristic; receiving thedata, each of the data having a data value; receiving word-lengthinformation indicating the number of quantizing levels; choosing one ofthe non-linear functions from the set of non-linear functions inresponse to the word-length information; pre-processing the data togenerate pre-processed data by applying the non-linear function chosenin the choosing step to each of the data to generate a respective one ofthe pre-processed data; selecting an allowable range, bounded bydecision values, for the number of quantizing levels, wherein thedecision values are selected according to the chosen non-linear functionand wherein the decision values lie off-center between adjacentquantizing levels; and linearly quantizing the pre-processed data inresponse to the word-length information to generate the quantized data.37. The method of claim 36, whereinin the step of providing a set ofnon-linear functions, a different non-linear function is provided foreach number of quantizing levels in the allowable range for the numberof quantizing levels.
 38. The method of claim 36, wherein:in the step ofproviding a set of non-linear functions, the non-linear functions varyin non-linearity; and in the choosing step, the one of the non-linearfunctions chosen has a greater non-linearity when the word-lengthinformation indicates more quantizing levels than the one of thenon-linear functions chosen when the word-length information indicatesfewer quantizing levels.
 39. The method of claim 36, whereinin the stepof providing a non-linear function set, there is provided, as each ofthe non-linear functions in the non-linear function set, a piecewiselinear approximation of a non-linear function, one piecewiseapproximation of a non-linear function being provided for each number ofquantizing levels in the allowable range for the number of quantizinglevels, each piecewise linear approximation including:plural nodeswhereat the piecewise non-linear approximation coincides with thenon-linear function, the nodes being equal in number to the respectivenumber of quantizing levels, and linear segments interconnectingconsecutive ones of the nodes.
 40. The method of claim 39, wherein inthe step of providing a set of non-linear functions, the non-linearfunctions approximated by the piecewise linear approximations vary innon-linearity, the non-linear functions approximated by the piecewiselinear approximations for larger numbers of quantizing levels being morenon-linear than the non-linear functions approximated by the piecewiselinear approximations for smaller numbers of quantizing levels.
 41. Themethod of claim 39, wherein, in the step of providing a set ofnon-linear functions, the piecewise linear approximations allapproximate the same non-linear function.
 42. The method of claim 36,wherein the method additionally comprises a step of performingtime-frequency analysis on the information signal to generate the data.43. The method of claim 42, wherein:the information signal comprises astream of plural samples; in the step of performing time-frequencyanalysis, the time-frequency analysis is performed on a block of thesamples of the information signal to generate the data; and the methodadditionally includes a step of deriving, from the block the samples ofthe information signal, the word-length information received in the stepof receiving word-length information.
 44. The method of claim 43,wherein:the step of performing time-frequency analysis includes stepsof:deriving a set of spectral components from the block of the samplesof the information signal, deriving a scale factor from the set ofspectral components, and applying block floating to the set of spectralcomponents using the scale factor to generate the data; and the step ofderiving the word-length information includes a step of deriving theword-length information from the set of spectral components.
 45. Themethod of claim 42, wherein:the information signal comprises a stream ofplural samples; the step of performing time-frequency analysis includesa step of orthogonally transforming a block of the samples of theinformation signal to generate the data.
 46. The method of claim 45,wherein:the step of orthogonally transforming a block of the samples togenerate the data includes steps of:orthogonally transforming a block ofthe samples to generate spectral components divided into frequencybands, deriving a scale factor for the spectral components in one of thefrequency bands, applying block floating to the spectral components inthe one of the frequency bands in response to the scale factor, andproviding the resulting block floating-processed spectral components asthe data; and the method additionally includes a step of deriving, fromthe spectral components in the one of the frequency bands, theword-length information received in the step of receiving word-lengthinformation.
 47. The method of claim 42, wherein the step of performingtime-frequency analysis includes a step of filtering the informationsignal to generate a sequence of time-domain spectral components in oneof plural subbands as the data.
 48. The method of claim 47, wherein:thestep of filtering includes steps of:deriving a scale factor for thesequence of time-domain spectral components in the one of pluralsubbands, applying block floating to the sequence of time-domainspectral components in the one of plural subbands in response to thescale factor, and providing the resulting block floating-processedspectral components as the data; and the method additionally includes astep of deriving, from the sequence of time-domain spectral componentsin the one of the frequency bands, the word-length information receivedin the step of receiving word-length information.
 49. The method ofclaim 36, wherein:the method additionally comprises a step of applyingblock floating to the data to generate block floating-processed data;and in the pre-processing step, the pre-processed data are generated byapplying the non-linear function chosen in the choosing step to each ofthe block-floating processed data.
 50. A method of non-linearlyquantizing input data representing an information signal to generatetherefrom respective quantized data representing the information signalusing fewer bits, each of the data, when non-linearly quantized, beingrepresented by an output quantizing level selected from a number ofoutput quantizing levels, the method non-linearly quantizing the dataaccording to a non-linear function, and comprising the stepsof:receiving the input data, each of the input data having a data value;receiving word-length information indicating the number of quantizinglevels; determining, from the word-length information and the non-linearfunction, an input quantizing value for each quantizing level in thenumber of quantizing levels; determining, from the quantizing values,input decision levels wherein each of the input decision levels liehalfway between adjacent quantizing values, and further wherein each ofthe input decision levels correspond, via the non-linear function, to anoutput decision level wherein the output decision levels do not liehalfway between adjacent output levels; determining, from adjacent inputdecision levels, an input decision rage for each quantizing level; andselecting the quantizing level having the input decision rageencompassing the data value of each one of the input data as arespective one of the quantized data.
 51. The method of claim 50,wherein:the non-linear function has an output range; and the determiningan input quantizing value step includes steps of:deriving an inversenon-linear function from the non-linear function, the inverse non-linearfunction being inverse to the non-linear function, distributing thenumber of quantizing levels uniformly across the output range of thenon-linear function to generate a corresponding number ofuniformly-spaced values, and processing each of the uniformly-spacedvalues using the inverse non-linear function to generate a respectiveone of the quantizing values.
 52. The method of claim 50, wherein themethod additionally comprises a step of performing time-frequencyanalysis on the information signal to generate the data.